<template>
  <div class="todo-header">
    <input
      type="text"
      placeholder="请输入你的任务名称，按回车键确认"
      v-model="todoName"
      @keyup.enter="addTodo"
    />
  </div>
</template>

<script lang="ts">
export default {
  name: "Header",
};
</script>

<script lang="ts" setup>
import { ref } from "vue";
import { useTodoStore } from "../../store/modules/todo";
// 定义响应式数据，收集数据
const todoName = ref("");

const todoStore = useTodoStore();

const addTodo = () => {
  const name = todoName.value.trim();
  if (!name) return;

  todoStore.addTodo(name);
  // 需要定义的响应式数据清空，因为v-model关系，所以input内容也会清空
  // 注意：不是将name清空，这样没用
  todoName.value = "";
};
</script>

<style scoped>
/*header*/
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
}
</style>
